package inter;

import java.util.ArrayList;

public class ExprCall extends Expr {
	
	Id IdFunc;
	ArrayList<Expr> argumentos;
	
	public ExprCall(Id idFunc, ArrayList<Expr> argumentos) {
		super(idFunc.op, idFunc.type);
		IdFunc = idFunc;
		this.argumentos = argumentos;
	}
	
	public void gen(int b, int a){
		emit(IdFunc.toString() + "( ");
		for (int i = 0; i < argumentos.size(); i++) {
			if (i == 0){
				emit(argumentos.get(i).toString());
			} else {
				emit(", " + argumentos.get(i).toString());
			}
			
		}
		emit(" )");
	}
	
	public String toString(){
		String retorno = op.toString() + "(" ;
		for (Expr expr : argumentos) {
			retorno = retorno + expr.toString() + ",";
		}
		retorno = retorno.substring( 0, retorno.length() - 1 );
		return retorno + ")";
	}

}
